﻿using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;
using SchemaGraph.Interfaces;
using ObjectGraph.Core;

namespace SchemaGraph
{
    public class Graph : GraphBase.Graph, IGraph
    {
        public Graph()
        {
            m_vertexes = new VertexCollection(OnVertexAdded, OnVertexRemoved, this);
            m_edges = new EdgeCollection(m_vertexes.GetVertexEnumerator, OnEdgeAdded, OnEdgeRemoved, this);
        }

        #region IGraph Members

        public new IVertexCollection Vertexes
        {
            get { return (IVertexCollection)base.Vertexes; }
        }

        public new IEdgeCollection Edges
        {
            get { return (IEdgeCollection)base.Edges; }
        }

        #endregion
    }
}
